package test_004;

// abstract 和 interface的主要区别
/**
 * 抽象类 没有描绘对象的具体实现
 * interface是一种特殊的抽象类，abstract可以不包含抽象的方法。interface中的方法必须是抽象的，不能有实现体。abstract可以。
 * abstract可以被继承，interface用来被实现
 * 在编程上设计中需要考虑，interface对于后期更改大的开发量比较大，如果需要修改则需要修改每个派生类， abstract只需要修改默认实现即可。
 * abstract class and interface 是java中两种定义抽象类的方法。 extends(is a) implements (like
 * a)
 */
abstract class TestAbstract extends E {
	public TestAbstract() {
		super();
	}

	public abstract String say();
}

class E {
}

class child extends TestAbstract {
	@Override
	public String say() {
		// TODO Auto-generated method stub
		return null;
	}
}

interface A {
	public void say();
}